# 接口类型：互亿无线触发短信接口，支持发送验证码短信、订单通知短信等。
# 账户注册：请通过该地址开通账户http://user.ihuyi.com/register.html
# 注意事项：
# (1) 调试期间，请用默认的模板进行测试，默认模板详见接口文档；
# (2) 请使用 用户名 及 APIkey来调用接口，APIkey在会员中心可以获取；
# (3) 该代码仅供接入互亿无线短信接口参考使用，客户可根据实际需要自行编写；
import json
import urllib.parse
import urllib.request

from django.conf import settings

# 接口地址
url = 'http://106.ihuyi.com/webservice/sms.php?method=Submit'

# 定义请求的数据
"""
values = {
    # 用户名是登录用户中心->验证码短信->产品总览->APIID
    'account': 'C83163891',
    # 密码 查看密码请登录用户中心->验证码短信->产品总览->APIKEY
    'password': '34a1784254fbfc95762159371a415333',
    'mobile': '15257572396',
    # 'content': f'您的验证码是：{}。请不要把验证码泄露给其他人。',
    'format': 'json',
}
"""


def send_sms_single(phone, code):
    values = {
        # 用户名是登录用户中心->验证码短信->产品总览->APIID
        'account': settings.TENCENT_SMS_APP_ID,
        # 密码 查看密码请登录用户中心->验证码短信->产品总览->APIKEY
        'password': settings.TENCENT_SMS_APP_KEY,
        'mobile': f'{phone}',
        'content': f'您的验证码是：{code}。请不要把验证码泄露给其他人。',
        'format': 'json',
    }
    try:
        # 将数据进行编码
        data = urllib.parse.urlencode(values).encode(encoding='UTF8')

        # 发起请求
        req = urllib.request.Request(url, data)
        response = urllib.request.urlopen(req)
        # {"code":2,"msg":"提交成功","smsid":"16469926536189585236"}
        res = json.loads(response.read().decode("utf8"))
    except Exception as e:
        res = {'code': 1, 'msg': '发送失败'}
    return res
